#include<stdio.h>
#include<string.h>
char food[4][200]={"黄焖鸡","鱼香肉丝","麻婆豆腐","土豆丝"};
int money[4]={25,20,10,8};
int good[4]={0};

char od[20][200];
char name[20][200];
int time[20];
char place[20][300];
int usemoney[20];

int stat[20]={0};

int order=0;

void addorder()
{
  int i,j,n;
  if(order<20)
  {
    printf("请输入订餐人名字：");
   scanf("%s",name[order]);
   printf("菜名 单价 点赞数\n");
    for(i=0;i<4;i++)
    {
    printf("%s %d %d\n",food[i],money[i],good[i]);
    }
    printf("请输入要点的菜:");
    scanf("%s",od[order]);
    for(j=0;j<4;j++)
    {
     if(strcmp(od[order],food[j])==0)
     {
       usemoney[order]=money[j];
       break;
     }
    }
    printf("请输入送餐时间:");
    scanf("%d",&time[order]);
    printf("请输入送餐地址:");
    scanf("%s",place[order]);
    printf("订餐成功！\n");

    printf("订的是:%s\n",od[order]);
    printf("送餐时间是:%d\n",time[order]);
    printf("餐费:%d\n",usemoney[order]);
    order++;
    printf("输入0返回:");
    scanf("%d",&n);
  }
  else
  {
    printf("今日菜已经售完");
  }
}

void check()
{
  printf("***查看餐带***\n");
  printf("订餐人  餐食信息  送餐时间  地址  金额  状态\n");
  int orde,n;
  for(orde=0;orde<order;orde++)
  {
    printf("%s\t",name[orde]);
    printf("%s\t",od[orde]);
    printf("%d\t",time[orde]);
    printf("%s\t",place[orde]);
    printf("%d\t",usemoney[orde]);
    printf("%d\n",stat[orde]);
  }
  printf("输入0返回:");
  scanf("%d",&n);
}

void write()
{
  int n;
  int ord=0;
  printf("请在数清后输入你的单子号:");
  scanf("%d",&ord);
  if(ord>order)
  {
    printf("无法签收");
  }
  else
  {
    printf("请输入1表示签收:");
    scanf("%d",&n);
    stat[ord]=1;
  }
  printf("输入0返回:");
  scanf("%d",&n);
}

void delete()
{
  int n,o;
  printf("请在数清后输入你的单子号:");
  scanf("%d",&o);
  if(o>order)
  {
    printf("无法删除，不存在");
  }
  else
  {
    printf("删除成功");
    for(o;o<order+1;o++)
    {
      od[o][200]=od[o+1][200];
      name[o][200]=name[o+1][200];
      time[o]=time[o+1];
      place[o][300]=place[o+1][300];
      usemoney[o]=usemoney[o+1];
      stat[o]=stat[o+1];
    }
    order--;
  }
  printf("输入0返回:");
  scanf("%d",&n);
}

void zan()
{
    int i,n,j;
    char tmp[4][200];
    int temp[4];
    int temps[4];
    printf("***我要点赞***");
    printf("菜名 单价 点赞数\n");
    for(i=0;i<4;i++)
    {
    printf("%s %d %d\n",food[i],money[i],good[i]);
    }
    printf("请选择你喜欢的food序号(按顺序0-3):");
    scanf("%d",&n);
    good[n]=good[n]+1;
    for(j=0;j<4;j++)
    {for(n=0;n<4;n++)
    {
        if(good[n]<good[n+1])
        {
           strcpy(tmp[n],food[n]);
           strcpy(food[n],food[n+1]);
           strcpy(food[n+1],tmp[n]);
            temp[n]=money[n];
           money[n]=money[n+1];
           money[n+1]=temp[n];
           temps[n]=good[n];
           good[n]=good[n+1];
           good[n+1]=temps[n];
        }
    }
    }
    printf("菜名 单价 点赞数\n");
    for(i=0;i<4;i++)
    {
    printf("%s %d %d\n",food[i],money[i],good[i]);
    }
    printf("输入0返回:");
    scanf("%d",&n);
}

int main()
{
    int item;
    int go=1;
    do
    {
        printf("******************\n");
        printf("\t1.我要订餐\n");
        printf("\t2.查看餐品\n");
        printf("\t3.签收订单\n");
        printf("\t4.删除订单\n");
        printf("\t5.我要点赞\n");
        printf("\t6.退出系统\n");
        printf("*******************\n");
        printf("请选择:");
        scanf("%d",&item);
        switch(item)
        {
            case 1:addorder();
                   break;
            case 2:check();
                   break;
            case 3:write();
                   break;
            case 4:delete();
                   break;
            case 5:zan();
                   break;
            case 6:go=0;
                 break;
        }
    }while(go);
    return 0;
}